/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */package com.smsspamreport;

 import android.content.ActivityNotFoundException;
 import android.content.Intent;
 import android.os.Bundle;
 import android.preference.Preference;
 import android.preference.Preference.OnPreferenceClickListener;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
 import android.util.Log;
 import android.view.animation.AlphaAnimation;
 import android.view.animation.Animation;
 import android.view.animation.AnimationSet;
 import android.view.animation.LayoutAnimationController;
 import android.view.animation.TranslateAnimation;
 import android.widget.ListView;

 public class SettingsActivity extends PreferenceActivity implements OnPreferenceClickListener {

	 @Override
	 protected void onCreate(Bundle savedInstanceState) {
		 super.onCreate(savedInstanceState);
		 addPreferencesFromResource(R.xml.preferences);
		 customizeAnimations();
		 getPreferenceManager().findPreference(getString(R.string.pref_email)).setOnPreferenceClickListener(this);
	 }

	 private void customizeAnimations() {
		 AnimationSet set = new AnimationSet(true);

		 Animation animation = new AlphaAnimation(0.0f, 1.0f);
		 animation.setDuration(50);
		 set.addAnimation(animation);

		 animation = new TranslateAnimation(
				 Animation.RELATIVE_TO_SELF, 0.0f,Animation.RELATIVE_TO_SELF, 0.0f,
				 Animation.RELATIVE_TO_SELF, -1.0f,Animation.RELATIVE_TO_SELF, 0.0f
		 );
		 animation.setDuration(100);
		 set.addAnimation(animation);

		 LayoutAnimationController controller =
			 new LayoutAnimationController(set, 0.5f);
		 ListView listView = getListView();        
		 listView.setLayoutAnimation(controller);
	 }

	 @Override
	 public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
			 Preference preference) {
		 try {
			 return super.onPreferenceTreeClick(preferenceScreen, preference);
		 } catch (ActivityNotFoundException e) {
			 Log.d("SettingsActivity", "error", e);
		 }
		 return false;
	 }

	 @Override
	 public boolean onPreferenceClick(Preference preference) {
		 if (getString(R.string.pref_email).equals(preference.getKey())) {
			 Intent i = new Intent(Intent.ACTION_SEND);  
			 i.setType("message/rfc822");
			 i.putExtra(Intent.EXTRA_EMAIL, new String[]{getString(R.string.config_email_contact)});  
			 startActivity(Intent.createChooser(i,getString(R.string.email_prompt)));
			 return true;
		 }
		 return false;
	 }



 }
